/*     */ package com.finir.finknjig.forms.controllers;
/*     */ 
/*     */ import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.Collections;
import java.util.Date;
import java.util.List;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;

import com.finir.finknjig.domain.Komitent;
import com.finir.finknjig.domain.Konto;
import com.finir.finknjig.forms.AnalitikaJedan;
import com.finir.finknjig.persistence.hibernate.HibernatePersistenceManager;
import com.finir.finknjig.reports.jasper.ReportsVariables;
import com.finir.finknjig.reports.jasper.Stampanje;
import com.finir.finknjig.service.NalogFacade;
/*     */ 
/*     */ public class AnalitikaJedanController
/*     */   implements FocusListener
/*     */ {
/*     */   private AnalitikaJedan form;
/*     */   private HibernatePersistenceManager pm;
/*     */   private NalogFacade facade;
/*     */ 
/*     */   public AnalitikaJedanController(AnalitikaJedan form)
/*     */   {
/*  30 */     this.form = form;
/*  31 */     this.pm = new HibernatePersistenceManager();
/*  32 */     this.facade = new NalogFacade();
/*  33 */     popuniCombos();
/*  34 */     this.form.getKomitentjComboBox1().addFocusListener(this);
/*  35 */     this.form.getKontojComboBox2().addFocusListener(this);
/*  36 */     this.form.getKomitentjComboBox1().requestFocus();
/*     */   }
/*     */ 
/*     */   public void popuniCombos()
/*     */   {
/*  42 */     fillKomitent();
/*  43 */     fillKonto();
/*     */   }
/*     */ 
/*     */   private void fillKonto()
/*     */   {
/*  48 */     List<Konto> k = this.pm.getAll(Konto.class);
/*  49 */     Collections.sort(k);
/*  50 */     DefaultComboBoxModel c3 = (DefaultComboBoxModel)this.form
/*  51 */       .getKontojComboBox2().getModel();
/*  52 */     c3.removeAllElements();
/*  53 */     c3.addElement("");
/*     */ 
/*  55 */     for (Konto p : k) {
/*  56 */       c3.addElement(p);
/*     */     }
/*     */ 
/*  59 */     k = null;
/*  60 */     System.gc();
/*     */   }
/*     */ 
/*     */   private void fillKomitent() {
/*  64 */     List<Komitent> komitenti = this.pm.getAll(Komitent.class);
/*  65 */     DefaultComboBoxModel c4 = (DefaultComboBoxModel)this.form
/*  66 */       .getKomitentjComboBox1().getModel();
/*  67 */     c4.removeAllElements();
/*  68 */     c4.addElement("");
/*     */ 
/*  70 */     for (Komitent k : komitenti)
/*  71 */       c4.addElement(k);
/*     */   }
/*     */ 
/*     */   private void prikaziPorukuZaPrazanuListu()
/*     */   {
/*  76 */     JOptionPane.showMessageDialog(this.form, 
/*  77 */       "Ni jedan nalog nije evidentiran u tom periodu!", "Info", 
/*  78 */       1);
/*     */   }
/*     */ 
/*     */   public void poKomitentimaIKontima()
/*     */   {
/*  83 */     Date odDatum = this.form.getOddateChooserCombo1().getSelectedDate()
/*  84 */       .getTime();
/*     */ 
/*  86 */     Date doDatum = this.form.getDodateChooserCombo2().getSelectedDate()
/*  87 */       .getTime();
/*     */ 
/*  89 */     List nalozi = this.facade.vratiSveNalogeIzmedjuDatuma(odDatum, 
/*  90 */       doDatum);
/*     */ 
/*  92 */     if (nalozi.size() == 0) {
/*  93 */       prikaziPorukuZaPrazanuListu();
/*  94 */       return;
/*     */     }
/*     */ 
/*  97 */     Object kon = this.form.getKontojComboBox2().getSelectedItem();
/*  98 */     Konto konto = null;
/*     */ 
/* 100 */     if (kon instanceof Konto) {
/* 101 */       konto = (Konto)kon;
/*     */     }
/*     */ 
/* 104 */     Object kom = this.form.getKomitentjComboBox1().getSelectedItem();
/* 105 */     Komitent komitent = null;
/*     */ 
/* 107 */     if (kom instanceof Komitent) {
/* 108 */       komitent = (Komitent)kom;
/*     */     }
/*     */ 
/* 111 */     Stampanje s = new Stampanje(this.form);
/*     */ 
/* 113 */     s.analitikaJedanKomitentiIKonta(nalozi, konto, komitent, 
/* 114 */       ReportsVariables.getPoKomitentimaIKontima(), odDatum, doDatum);
/*     */   }
/*     */ 
/*     */   public void poKontimaIKomitentima()
/*     */   {
/* 119 */     Date odDatum = this.form.getOddateChooserCombo1().getSelectedDate()
/* 120 */       .getTime();
/*     */ 
/* 122 */     Date doDatum = this.form.getDodateChooserCombo2().getSelectedDate()
/* 123 */       .getTime();
/*     */ 
/* 125 */     List nalozi = this.facade.vratiSveNalogeIzmedjuDatuma(odDatum, 
/* 126 */       doDatum);
/*     */ 
/* 128 */     if (nalozi.size() == 0) {
/* 129 */       prikaziPorukuZaPrazanuListu();
/* 130 */       return;
/*     */     }
/*     */ 
/* 133 */     Object kon = this.form.getKontojComboBox2().getSelectedItem();
/* 134 */     Konto konto = null;
/*     */ 
/* 136 */     if (kon instanceof Konto) {
/* 137 */       konto = (Konto)kon;
/*     */     }
/*     */ 
/* 140 */     Object kom = this.form.getKomitentjComboBox1().getSelectedItem();
/* 141 */     Komitent komitent = null;
/*     */ 
/* 143 */     if (kom instanceof Komitent) {
/* 144 */       komitent = (Komitent)kom;
/*     */     }
/*     */ 
/* 147 */     Stampanje s = new Stampanje(this.form);
/*     */ 
/* 149 */     s.analitikaJedanKontaIKomitenti(nalozi, konto, komitent, 
/* 150 */       ReportsVariables.getPoKontimaIKomitentima(), odDatum, doDatum);
/*     */   }
/*     */ 
/*     */   public void focusGained(FocusEvent e)
/*     */   {
/* 155 */     if (e.getSource() instanceof JComboBox)
/* 156 */       ((JComboBox)e.getSource()).showPopup();
/*     */   }
/*     */ 
/*     */   public void focusLost(FocusEvent arg0)
/*     */   {
/*     */   }
/*     */ }

